import axios from 'axios' //发送请求
// import qs from "qs" // 自动处理返回的JSON数据
import {
	Message
} from "element-ui"
import {vm} from '../main.js'
//默认设置
axios.defaults.baseURL = "http://localhost:8000";
axios.defaults.timeout = 10000;
axios.defaults.withCredentials = true;
axios.defaults.headers.post["Content-Type"] = 'application/json';


//响应拦截
axios.interceptors.response.use(function(response) {
	// console.log(response);
	if (response.data.code ==  2006) {
		localStorage.clear(); // （不删除也可以，因为登录后覆盖）
		vm.$router.replace({
			path: '/login', // 到登录页重新获取token
		})
		Message({
			showClose: true,
			message: '登录过期',
			type: 'error'
		});
	}
	return response

}, function(error) {
	// if (error.response) {
	// 	if (error.response.status === 403) {

	// 		localStorage.clear();
	// 		// Cookies.set("user", "", -10);
	// 		router.replace({
	// 			path: '/login' // 到登录页重新获取token
	// 		})
	// 	} else if (error.response.status === 405) {
	// 		Message({
	// 			showClose: true,
	// 			message: '权限不足,请联系管理员',
	// 			type: 'warning'
	// 		});
	// 		router.replace({
	// 			path: '/error',
	// 		})
	// 	} else if (error.response.status === 500) {
	// 		Message({
	// 			showClose: true,
	// 			message: '服务器异常',
	// 			type: 'error'
	// 		});
	// 	}
	// }
	return Promise.reject(error)
})


//封装请求方法	
/** 
 * post方法，对应post请求 
 * @param {String} url [请求的url地址] 
 * @param {Object} params [请求时携带的参数] 
 */
export function post(url, params) {
	return new Promise((resolve, reject) => {
		axios.post(url, JSON.stringify(params))
			.then(res => {
				resolve(res.data);
			})
			.catch(err => {
				reject(err.data)
			})
	});


}
/**
 * get方法，对应get请求
 * @param {String} url [请求的url地址]
 * @param {Object} params [请求时携带的参数]
 */
export function get(url, params) {
	return new Promise((resolve, reject) => {
		axios.get(url, {
			params: params
		}).then(res => {
			resolve(res.data);
		}).catch(err => {
			reject(err.data)
		})
	});
}
